/**
 * 访问器的使用
 * */
class User{
    constructor(name){
        this.data = {name}
    }

    set name(value){
        // 如果输入的是空的， 那么就会报空异常， 可以抛出的是TypeError， Error等
        if(value.trim() === '') throw new TypeError('please enter not null')
        this.data.name = value
    }

    get name(){
        return this.data.name
    }
}

// 构造器就是在方法名前面加上get、set属性, 然后, 使用的时候, 直接使用类名就可以了
const ck = new User('ck')
console.log(ck.name)// 不用写一个ck.getName() get方法
console.log(ck.name = 'ckkkk') // 不用写一个ck.setName() set方法, 返回的是set进对象属性的值
console.log(ck.name = ''); // 这里应该会抛出异常
